/**
 * 服务中心
 * - 主程序
 */

/**
 * server实例
 */
const Server = {};

/**
 * 集成
 */
import config from './config/index.js'                   // 配置
import plugin from './plugin/index.js'                   // 插件
import core from './core/index.js'                       // 核心
import router from './router/index.js'                   // 路由

/**
 * 注册
 */
async function register() {
    // 注册配置
    await config(Server);
    // 注册插件
    await plugin(Server);
    // 注册核心代码
    await core(Server);
    // 注册路由
    await router(Server);
}

/**
 * 初始化服务
 */
async function initServer() {
    await Server.init()
}

// 启动服务
async function start() {
    // 注册
    await register();
    // 初始化
    await initServer();
    // 返回网络服务访问地址
    return Server.baseUrl;
}

// 启动
const baseUrl = await start();
console.log(`服务已启动，访问地址为：${baseUrl}`);